From: Jonas Dreßler Date: Fri, 12 Mar 2021 21:30:43 +0000 (+0100) Subject: st/widget: Invalidate paint volume on style changes X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~616^2^2~62 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=62e40a13506b4481a50944be886b36566c464dc0;p=gnome-shell.git st/widget: Invalidate paint volume on style changes StWidget is overriding ClutterActors get_paint_volume() vfunc to adjust for overpaint of things like box shadows that get set in CSS, it does that by setting the paint volume to the theme nodes paint box. Since StWidget can't really get notified when the paint box changes, we just invalidate the paint volume when the theme nodes paint_equal() returns FALSE. Part-of: --- diff --git a/src/st/st-widget.c b/src/st/st-widget.c index 7e03028c0..47a84c5c2 100644 --- a/src/st/st-widget.c +++ b/src/st/st-widget.c @@ -1722,6 +1722,8 @@ st_widget_recompute_style (StWidget *widget, if (!paint_equal) { + clutter_actor_invalidate_paint_volume (CLUTTER_ACTOR (widget)); + next_paint_state (widget); if (!st_theme_node_paint_equal (new_theme_node, current_paint_state (widget)->node))